import AJAX from "../../lib/ajax";
import wx from "wx";
import Toast from "../MyPackage/components/Toast";

const wxUploadImage = function () {
    AJAX.request('get_signature', {
        full_url: window.location.href
    }, (data) => {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: data.body.appid, // 必填，公众号的唯一标识
            timestamp: data.body.timestamp, // 必填，生成签名的时间戳
            nonceStr: data.body.noncestr, // 必填，生成签名的随机串
            signature: data.body.signature,// 必填，签名，见附录1
            jsApiList: [
                'chooseImage',
                'uploadImage',
                'getLocalImgData',
                'downloadImage',
            ],// 必填，需要使用的JS接口列表 声明
        });
        wx.ready(function () {
            wx.checkJsApi({
                jsApiList: [
                    'chooseImage',
                    'previewImage',
                    'uploadImage',
                    'downloadImage',
                ],
                success: function (res) {
                    const stationId = sessionStorage.getItem('station_id');
                    wxChooseImage(stationId);
                }
            });
        });
    })
};

const wxChooseImage = function (stationId) {
    wx.chooseImage({
        count: 1, // 最多可以选择的图片张数，默认9
        sizeType: ['original', 'compressed'], // original 原图，compressed 压缩图，默认二者都有
        sourceType: ['camera'], // album 从相册选图，camera 使用相机，默认二者都有
        success: function (res) {
            let localIds = res.localIds; // 返回选定照片的本地ID列表（手机上操作就是手机端的ID列表，是一个数组），localId可以作为img标签的src属性显示图片
            wx.uploadImage({
                localId: localIds[0], // 需要上传的图片的本地ID，由chooseImage接口获得
                isShowProgressTips: 1, // 默认为1，显示进度提示
                success: function (result) {
                    Toast.success({ content: '成功' });
                    
                    let serverId = result.serverId; // 返回图片的服务器端ID
                    // 可以将serverId传给后台，用于存放在自己服务器上
                    AJAX.request('pickupByImage', {
                        mediaId: serverId,
                        stationId: stationId,
                    }, data => {
                        
                    });
                }
            });
        },
        fail: function () { },
        complete: function () { }
    });
}

// 扫描二维码
const wxScanCode = function () {
    AJAX.request('get_signature', {
        full_url: window.location.href
    }, (data) => {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: data.body.appid, // 必填，公众号的唯一标识
            timestamp: data.body.timestamp, // 必填，生成签名的时间戳
            nonceStr: data.body.noncestr, // 必填，生成签名的随机串
            signature: data.body.signature,// 必填，签名，见附录1
            jsApiList: [
                'scanQRCode',
            ],// 必填，需要使用的JS接口列表 声明
        });
        wx.ready(function () {
            wx.checkJsApi({
                jsApiList: [
                    'scanQRCode'
                ],
                success: function (res) {
                    wx.scanQRCode({
                        needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
                        scanType: ["qrCode"], // 可以指定扫二维码还是一维码，默认二者都有
                        success: function (res) {
                            var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
                        }
                    });
                }
            });
        });
    })
}

export default wxUploadImage;